<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<!-- HTML file produced from file: manual.tex --
 -- using Hyperlatex v 2.3.1 (c) Otfried Cheong--
 -- on Emacs 21.4 (patch 12) "Portable Code" XEmacs Lucid, Wed Jun  2 18:57:09 2004 -->
<HEAD>
<TITLE>Scheme 48 Manual -- Mixing Scheme 48 and C</TITLE>

</HEAD><BODY BGCOLOR="#ffffff">
<EM>Scheme 48 Manual</EM> | <A HREF="s48manual.html#top_node">Contents</A> | In Chapter: <A HREF="s48manual.html">Top</A><BR>Previous: <A HREF="s48manual_65.html">Mixing Scheme 48 and C</A> | Next: <A HREF="s48manual_65.html">Mixing Scheme 48 and C</A>
<H1>Mixing Scheme 48 and C</H1>

<P>This chapter describes an interface for calling C functions
 from Scheme, calling Scheme functions from C, and allocating
 storage in the Scheme heap..
Scheme&nbsp;48 manages stub functions in C that
 negotiate between the calling conventions of Scheme and C and the
 memory allocation policies of both worlds.
No stub generator is available yet, but writing stubs is a straightforward task.
<P><MENU>
<LI><A HREF="s48manual_66.html">Available facilities</A>
<LI><A HREF="s48manual_67.html">Shared bindings</A>
<LI><A HREF="s48manual_68.html">Calling C functions from Scheme</A>
<LI><A HREF="s48manual_69.html">Adding external modules to the <TT>Makefile</TT></A>
<LI><A HREF="s48manual_70.html">Dynamic loading</A>
<LI><A HREF="s48manual_71.html">Compatibility</A>
<LI><A HREF="s48manual_72.html">Accessing Scheme data from C</A>
<LI><A HREF="s48manual_73.html">Calling Scheme functions from C</A>
<LI><A HREF="s48manual_74.html">Interacting with the Scheme heap</A>
<LI><A HREF="s48manual_75.html">Using Scheme records in C code</A>
<LI><A HREF="s48manual_76.html">Raising exceptions from external code</A>
<LI><A HREF="s48manual_77.html">Unsafe functions and macros</A>
</MENU>
<P>
  
Previous: <A HREF="s48manual_65.html">Mixing Scheme 48 and C</A> | Next: <A HREF="s48manual_65.html">Mixing Scheme 48 and C</A></BODY></HTML>
